package cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.record;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;

@Schema(description = "用户 App - 分销记录 Response VO")
@Data
public class AppBrokerageRecordRespVO {

    @Schema(description = "记录编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
    private Long id;

    @Schema(description = "业务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
    private String bizId;

    @Schema(description = "分销标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "用户下单")
    private String title;

    @Schema(description = "分销金额，单位：分", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
    private Integer price;
    /**
     * 当前总金额(产生佣金的总金额)
     */
    @Schema(description = "当前总金额，单位：分", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
    private Integer totalAmount;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Integer status;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime createTime;

    @Schema(description = "完成时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime finishTime;

    @Schema(description = "是否可被结算", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer canSettable;

    /**
     * 会员类型
     */
    @Schema(description = "会员类型ID")
    private Integer memberTypeId;

    @Schema(description = "会员类型名称")
    private String memberTypeName;
    /**
     * 开通时间
     */
    @Schema(description = "开通时间")
    private LocalDate startDate;
    /**
     * 结束时间
     */
    @Schema(description = "结束时间")
    private LocalDate endDate;

    // ========== 用户信息 ==========

    @Schema(description = "用户头像", example = "https://www.krcorcms.com/xxx.png")
    private String userAvatar;

    @Schema(description = "用户昵称", example = "李四")
    private String userNickname;


    // ========== 来源用户信息 ==========

    @Schema(description = "来源用户编号", example = "366")
    private Long sourceUserId;

    @Schema(description = "来源用户手机", example = "13800138000")
    private String sourceUserMobile;

    @Schema(description = "来源用户头像", example = "https://www.krcorcms.com/xxx.png")
    private String sourceUserAvatar;

    @Schema(description = "来源用户昵称", example = "李四")
    private String sourceUserNickname;
}
